Bluetooth is a short-range radio network, originally intended as a cable replacement. It can be used to create ad hoc networks of up to eight devices operating together. The Bluetooth Special Interest Group, Specification Of The Bluetooth System, Volumes 1 and 2, Core and Profiles: Version 1.1, Feb. 22, 2001, describes the principles of Bluetooth device operation and communication protocols. The devices operate in the 2.4 GHz radio band reserved for general use by Industrial, Scientific, and Medical (ISM) applications. Bluetooth devices are designed to find other Bluetooth devices within their ten-meter radio communications range and to discover what services they offer.
A connection between two Bluetooth devices is initiated by an inquiring device sending out an inquiry message searching for other devices in its vicinity. Any other Bluetooth device that is listening by means of conducting an inquiry scan, will recognize the inquiry message and respond. The inquiry response is a frequency hop synchronization (FHS) packet containing all of the information required by the inquiring device to address the responding device. This information includes clock value of the sender (i.e., the responding device), the sender's correct device access code, and the class-of-device (CoD) field. The FHS packet contains more information than is mentioned here. The access code includes the lower address part (LAP) and the upper address part (UAP) of the sender's Bluetooth Device Address (BD_ADDR), a unique, 48-bit IEEE address that is electronically engraved into each Bluetooth device.
The class-of-device (CoD) field of the FHS packet indicates which device class the sender belongs to, such as printer access point, network access point, PDA, cellular telephone, and the like. The class-of-device (CoD) field is a 24 bit field divided into three subfields and a two-bit format field. The high order eleven bit subfield is reserved for indicating general service classes such as information, telephony, audio, object transfer, capturing, rendering, networking, and positioning. The middle five bit subfield comprises the major device class, which can indicate up to 32 different device types. The low order six bit subfield consists is the minor device class, which can indicate up to 64 different variations of each device type. The lowest order two bits are the format field for identifying the format type of the CoD field.
The inquiring device (after it sends a paging packet) will become the master and the responding device will become the slave in the eventual piconet, if a connection is established. To establish a connection, the inquiring device must enter the page state. The paging device uses the information provided in the inquiry response packet, to prepare and send a paging message to the responding device. The paging device uses the estimated clock CLKE and access code of the responding device (i.e., the eventual slave device) to temporarily synchronize with it. Since the paging device intends to be the master, it includes an assignment of an active member address (AM_ADDR) in the paging message. The paging message sent by the paging device is also a frequency hop synchronization (FHS) packet containing all of the information required by the responding device to directly reply to the paging device. This information includes clock value of the sender (i.e., the paging device) and the paging device's correct device access code. The responding device must be in the page scan state to allow the paging device to connect with it. Once in the page scan state, the responding device will receive the paging packet that provides the clock timing and access code of the paging device. The responding device responds with a page acknowledgment packet. This enables the two devices to form a connection and both devices transition into the connection state. The paging device that has initiated the connection assumes the role of a master device and the responding device assumes the role of a slave device in a new ad hoc network piconet, using the CLK clock timing and access code of the master device.
Each piconet has one master device and up to seven active slave devices. All communication is directed between the master device and each respective slave device. The master initiates an exchange of data and the slave responds to the master. When two slave devices are to communicate with each other, they must do so through the master device. The master device maintains the piconet's network clock and controls when each slave device can communicate with the master device. Members of the ad hoc network piconet join and leave as they move into and out of the range of the master device. Piconets support distributed activities, such as multi-user gateways to the Internet or to a content server, wherein one device serves as the access point and is connected to an infrastructure network or content server. A user's device that joins a multi-user gateway piconet, does so to enable its user to access the infrastructure network or content server.
To form ad hoc connections, a Bluetooth device has to have the ability to rapidly discover target Bluetooth devices to which the user wishes to connect. In many cases the target device is known, e.g. a headset, and thus the procedure for connection establishment is straightforward. However, in certain cases it is not possible to have information about the target device. Additional problems are created by a crowded environment where many Bluetooth devices are present, which respond to the user device's inquiries.
What is needed a way to rapidly give the user notice of those Bluetooth devices within communication range, and yet not inundate the user with information about those Bluetooth devices that he/she wishes to ignore.